///**
// * Created with IntelliJ IDEA.
// * Description:
// * User:周次煜
// * Date: 2024-03-03
// * Time：22:52
// */
//public class J3_3 {
//
//    package Polymorphism.animal.test;
//
//    /**
//     * Created with IntelliJ IDEA.
//     * Description:
//     * User:周次煜
//     * Date: 2024-03-03
//     * Time：18:40
//     */
//
//// 普通类的多态
//    public   class Animal {
//        public String name;
//        public int age;
//        public String color;
//        public void eat() {
//            System.out.println(this.name+"正在吃东西");
//        }
//        public  void bark() {
//            System.out.println(this.name+"正在叫");
//        }
//
//        // 父类的构造方法
//        public  Animal(String name, int age, String color) {
//            this.name = name;
//            this.age = age;
//            this.color = color;
//        }
//    }
//
//    class Bird extends Animal {
//
//        //    子类的构造方法
//        public Bird(String name, int age, String color) {
//            super(name, age, color);
//        }
//
//        @Override
//        public  void eat() {
//            System.out.println(this.name+"正在吃鸟粮");
//        }
//
//        @Override
//        public void bark() {
//            System.out.println(this.name+"正在唧唧叫");
//        }
//    }
//
//    class Dog extends Animal {
//
//        public Dog(String name, int age, String color) {
//            super(name, age, color);
//        }
//
//        //    重写的注解
////    用于检测
//        @Override
//
//        // 重写的标志优先级要大于等于被重写的的
////    重写要返回类型,参数列表,函数名要相同哦
//        public void eat() {
//            System.out.println(this.name+"正在吃狗粮");
//        }
//
//
//        @Override
//        public void bark() {
//            System.out.println(this.name+"正在汪汪叫");
//        }
//    }
//
//
//    class Test {
//
//        //    以参数列表的形式进行向上转化
//        public static void animalPol(Animal animal) {
//            // 进行动态绑定
//            // 实现多态的思想
//            animal.bark();
//            animal.eat();
//        }
//        public static void main1(String[] args) {
//
//            // 进行实例化对象
//            Dog dog=new Dog("小黄",13,"黄色");
//            Bird bird =new Bird("小鸟",14,"白色");
//
//            // 传入对象
//            animalPol(dog);
//            animalPol(bird);
//        }
//
//        package Polymorphism.animal.test;
//
//        /**
//         * Created with IntelliJ IDEA.
//         * Description:
//         * User:周次煜
//         * Date: 2024-03-03
//         * Time：19:13
//         */
//
//
//
////      抽象类的多态
//        abstract  class Animal1 {
//
//            public String name;
//            public int age;
//            public String color;
//
//            public Animal1(String name, int age, String color) {
//                this.name = name;
//                this.age = age;
//                this.color = color;
//            }
//
//            abstract   public void eat();
//            abstract  public  void bark();
//        }
//
//        class Bird1 extends Animal1 {
//
//            //    子类的构造方法
//            public Bird1(String name, int age, String color) {
//                super(name, age, color);
//            }
//
//            @Override
//            public  void eat() {
//                System.out.println(this.name+"正在吃鸟粮");
//            }
//
//            @Override
//            public void bark() {
//                System.out.println(this.name+"正在唧唧叫");
//            }
//        }
//
//
//        class Dog1 extends Animal1 {
//
//            public Dog1(String name, int age, String color) {
//                super(name, age, color);
//            }
//
//            //    重写的注解
////    用于检测
//            @Override
//
//            // 重写的标志优先级要大于等于被重写的的
////    重写要返回类型,参数列表,函数名要相同哦
//            public void eat() {
//                System.out.println(this.name+"正在吃狗粮");
//            }
//
//
//            @Override
//            public void bark() {
//                System.out.println(this.name+"正在汪汪叫");
//            }
//        }
//
//
//        class Test1 {
//            public static void animal1Pol() {
//                Dog d1=new Dog("阿黄",13,"棕黄");
//                Dog d2=new Dog("阿黑",15,"黑球");
//                Animal b1 =new Bird("云中君",17,"蓝白");
//                Bird b2 =new Bird("小飞机",18,"粉红");
//
//                // Animal1 不能实例化对象
//                // 抽象类不能实例化对象
//                Animal []array={d1,b1,d1,b2,b1,b2};
//
////        for (Animal animal1:
////             array) {
////            animal1.eat();
////            animal1.bark();
////        }
////        for (int i = 0; i < array.length; i++) {
////            array[i].bark();
////        }
//            }
//
//            public static void main(String[] args) {
//                animal1Pol();
//            }
//        }
//
//    }

//}
